package com.ssy.lingxi.order.model.constant;

import java.util.Arrays;

/**
 * 发票类型枚举
 * @author 万宁
 * @version 2.0.0
 * @date 2021-07-17
 */
public enum InvoiceTypeEnum {
    /**
     * 企业 - 1
     */
    ENTERPRISE(1, "企业"),

    /**
     *  个人 - 2
     */
    INDIVIDUAL(2, "个人");

    InvoiceTypeEnum(Integer code, String name) {
        this.code = code;
        this.name = name;
    }

    /**
     * 发票类型枚举值
     */
    private Integer code;

    /**
     * 发票类型名称
     */
    private String name;

    public Integer getCode() {
        return code;
    }

    public String getName() {
        return name;
    }

    /**
     * 根据枚举值获得名称
     * @param code 发票类型枚举值
     * @return 发票类型名称
     */
    public static String getNameByCode(Integer code) {
        InvoiceTypeEnum typeEnum = Arrays.stream(InvoiceTypeEnum.values()).filter(e -> e.getCode().equals(code)).findFirst().orElse(null);
        return typeEnum == null ? "未知" : typeEnum.getName();
    }
}
